package br.com.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.hibernate.Session;

import br.com.bean.Usuario;
import br.com.dao.HibernateDAO;
import br.com.dao.InterfaceDAO;
import br.com.util.FacesContextUtil;



public class UsuarioBean {

	private Usuario usuario=new Usuario();
	private List<Usuario> usuarios;
	private List<String> results;
	
	public String salvar(){
		
		Session session = FacesContextUtil.getRequestSession();
		InterfaceDAO<Usuario> usuarioDAO= new HibernateDAO<Usuario>(Usuario.class,session);
		usuarioDAO.salvar(usuario);
		return "cadatro_usuario.xhtml";
		
	}
	
	public List<Usuario> getUsuarios(){
		
		Session session=FacesContextUtil.getRequestSession();
		InterfaceDAO<Usuario> usuarioDAO= new HibernateDAO<Usuario>(Usuario.class,session);	
		usuarios=usuarioDAO.getBeans();
		return usuarios;
		
	}
	
	
	public List<String> complete(String busca) {
		
		results=new ArrayList<String>();
		Session session=FacesContextUtil.getRequestSession();
		InterfaceDAO<Usuario> usuarioDAO= new HibernateDAO<Usuario>(Usuario.class,session);	
		usuarios=usuarioDAO.getBeans();
		
		for (Usuario usuario : usuarios) {
			if(usuario.getNome().toString().toUpperCase().contains(busca.toUpperCase())){
				results.add(usuario.getNome().toString());
			}
		}
		return results ;

	}
	public String excluir(){
		
		Session session=FacesContextUtil.getRequestSession();
		InterfaceDAO<Usuario> usuarioDAO= new HibernateDAO<Usuario>(Usuario.class,session);	
		usuarioDAO.excluir(usuario);
		return "cadastro_usuario.xhtml";
	}
	
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	
	
	
}
